Subject: Changed pages for the terminology of "using a CRM"

From: "Chung-Huy Chen (254-4827 T/L 444)" <[email-masked]>
Date: Fri, 15 Oct 93 15:59:19 EDT

The CIW at the September meeting approved a return code proposal
  which included the terminology of "using a CRM" and its semantics.
  Now the terminology has appeared in various places in the 2.0
  spec. without a definition.

  Following is a proposed description for this terminology to
  be added to Chapter 2 "Terms and Concepts" before section
  2.8.2 "Automatic Conversion of Characteristics."  The description
  is an elaborated version of the return code proposal approved
  at the September CIW.

  Please send your comments to [email-masked],
  including reasons and proposed fixes.

  If I don't hear any objection by 10/29, the description will be
  included in the spec.

  Chung-Huy Chen

----------------------------------------------------------------------
2.8.2  Characteristic Values and CRMs

  Some conversation characteristic values are meaningful only for
  a particular CRM type.  For example, an error_direction value of
  CM_SEND_ERROR has meaning only for an LU 6.2 CRM.  On the other
  hand, a sync_level value of CM_NONE with a deallocate_type value
  of CM_DEALLOCATE_CONFIRM has meaning only for an OSI TP CRM.
  These CRM type-sensitive characteristic values and value pairs
  are listed below:

   - For an LU 6.2 CRM:

     -- conversation_security_type (CM_SECURITY_DISTRIBUTED)
     -- conversation_security_type (CM_SECURITY_MUTUAL)
     -- error_direction (CM_SEND_ERROR)

   - For an OSI TP CRM:

     -- allocate_confirm (CM_ALLOCATE_CONFIRM)
     -- prepared_data_permitted (CM_PREPARE_DATA_PERMITTED)
     -- transaction_control (CM_UNCHAINED_TRANSACTION)
     -- sync_level (CM_NONE), deallocate_type (CM_DEALLOCATE_CONFIRM)
     -- sync_level (CM_SYNC_POINT), deallocate_type (CM_DEALLOCATE_CONFIRM)
     -- sync_level (CM_SYNC_POINT), deallocate_type (CM_DEALLOCATE_FLUSH)
     -- sync_level (CM_SYNC_POINT_NO_CONFIRM),
        deallocate_type (CM_DEALLOCATE_CONFIRM)
     -- sync_level (CM_SYNC_POINT_NO_CONFIRM),
        deallocate_type (CM_DEALLOCATE_FLUSH)
     -- sync_level (CM_SYNC_POINT_NO_CONFIRM),
        send_receive_mode (CM_HALF_DUPLEX)

  CPI Communications considers a conversation to be "using a CRM
  type" if one of the following events occurs:

   - The program has successfully set a characteristic value or value
     pair for the conversation that is meaningful only for that CRM
     type.

   - The conversation has been allocated on that CRM type.

  When the conversation is using a CRM type, the implications are:

   - The program will receive a CM_PROGRAM_PARAMETER_CHECK return
     code if it attempts to set any characteristic value that is
     meaningful only for a different CRM type.

     For example, suppose a program has successfully set the
     allocate_confirm characteristic to CM_ALLOCATE_CONFIRM using the
     Set_Allocate_Confirm call on a conversation.  The conversation
     is using an OSI TP CRM.  If the program then issues a
     Set_Error_Direction call on the conversation with error_direction
     set to CM_SEND_ERROR, the program will receive a
     CM_PROGRAM_PARAMETER_CHECK return code.

     Details on this type of checking are provided in the individual
     call descriptions in Chapter 4. "Call Reference Section."

  - The conversation will only be allocated on that CRM type.

    If a conversation is using a CRM type and complete destination
    information is available for both CRM types, the Allocate call
    will try to establish a logical connection using the destination
    information only for that CRM type.

----------------------------------------------------------------------